|
Menu location |
---|
Annotation → Dimension |
Workbenches |
Draft |
Default shortcut |
D I |
Introduced in version |
0.8 |
See also |
Draft FlipDimension |
The Draft Dimension command creates a linear dimension, a radial dimension or an angular dimension.
Linear dimensions based on edges and radial dimensions are parametric. This means that they will update if the measured edge is modified. Measured edges can belong to Draft objects but also to solid bodies. Angular dimensions are not parametric.
Draft Dimensions can be displayed on a TechDraw Workbench page using the TechDraw DraftView or TechDraw ArchView commands. Alternatively the TechDraw Workbench offer its own dimension commands. But these create dimensions that are only displayed on the drawing page and not in the 3D view.
Linear dimension defined by three points
See also: Draft Tray, Draft Snap and Draft Constrain.
The single character keyboard shortcuts available in the task panel can be changed. See Draft Preferences. The shortcuts mentioned here are the default shortcuts (for version 1.0).
See also: Property editor.
A Draft Dimension object is derived from an App FeaturePython object and inherits all its properties. The following properties are additional unless otherwise stated:
Dimension
VectorDistance
): specifies the point through which the dimension line passes.LinkSubList
): specifies the object and its subelement(s) the dimension is linked to.Vector
): specifies the normal of the plane of the text.Link
): specifies the measured object.Linear/radial dimension
Vector
): specifies the direction of the measurement.Length
): (read-only) specifies the value of the measurement.VectorDistance
): specifies the end point of the measurement.VectorDistance
): specifies the start point of the measurement.Radial dimension
Bool
): specifies if a radial dimension is displayed as a diameter dimension. Not used for linear dimensions.Angular dimension
Angle
): (read-only) specifies the value of the measurement.VectorDistance
): specifies the center of the measurement.Angle
): specifies the start angle of the measurement.Angle
): specifies the end angle of the measurement.Dimension
VectorDistance
): specifies the point through which the dimension arc passes.LinkSubList
): not used.Vector
): specifies the normal of the plane of the dimension.Link
): not used.
Annotation
Enumeration
): specifies the annotation style applied to the dimension. See Draft AnnotationStyleEditor.Float
): specifies the general scaling factor applied to the dimension.Display Options
Enumeration
): specifies how the text is displayed. If it is World
the text will be displayed on a plane defined by the DadosNormal of the measurement. If it is Screen
the text will always face the screen. This is an inherited property. The mentioned options are the renamed options (introduced in version 0.21).Graphics
Length
): specifies the size of the symbols displayed at the ends of the dimension line or arc.Enumeration
): specifies the type of symbol displayed at the ends of the dimension line or arc, which can be Dot
, Circle
, Arrow
, Tick
or Tick-2
.Distance
): specifies the additional length added to the dimension line. Not used for angular dimensions.Distance
): specifies the length of the extension lines that go from the dimension line to the measured points. Use 0
for full extension lines. A negative value defines the gap between the ends of the extension lines and the measured points. A positive value defines the maximum length of the extension lines. Only used for linear dimensions.Distance
): specifies the additional length of the extension lines beyond the dimension line. Not used for angular dimensions.Bool
): specifies whether to flip the orientation of the symbols at the ends of the dimension line or arc. Only works if the symbols are arrows.Color
): specifies the color of the dimension line or arc, and the arrows.Float
): specifies the width of the lines or arc belonging to the dimension.Bool
): specifies whether to display the dimension line. Does not affect the display of extension lines and overshoots. Not used for angular dimensions.Text
Bool
): specifies whether to flip the orientation of the text.Font
): specifies the font used to draw the text. It can be a font name, such as Arial
, a default style such as sans
, serif
or mono
, a family such as Arial,Helvetica,sans
, or a name with a style such as Arial:Bold
. If the given font is not found on the system, a default font is used instead.Length
): specifies the size of the letters. The text can be invisible in the 3D view if this value is very small.String
): specifies a custom text to display instead of the actual measurement. Use the string $dim
inside the text to include the measurement.Color
): specifies the color of the text. introduced in version 0.21VectorDistance
): specifies the position of the text in absolute coordinates. [0, 0, 0]
will display the text in its default position near the dimension line or arc.Length
): specifies the space between the text and the dimension line or arc.Units
Integer
): specifies the number of decimal places to display for the measurement.Bool
): specifies whether to display the unit next to the numerical value of the measurement. Not used for angular dimensions.String
): specifies the unit in which to express the measurement, for example, km
, m
, cm
, mm
, mi
, ft
, in
or arch
for arch units. Leave this blank to use the default unit. Not used for angular dimensions.See also: Autogenerated API documentation and FreeCAD Scripting Basics.
To create a Draft Dimension use the make_dimension
method (introduced in version 0.19) of the Draft module. This method replaces the deprecated makeDimension
method.
dimension = make_dimension(p1, p2, p3=None, p4=None)
There are various ways to invoke this method, depending on the arguments passed to it:
dimension = make_dimension(p1, p2, p3=None)
dimension = make_dimension(object, i1, i2, p4=None)
dimension = make_dimension(object, i1, mode, p4=None)
dimension
by measuring the distance between points p1
and p2
.dimension
linked to object
, measuring the distance between its vertices indexed i1
and i2
.dimension
linked to object
, with i1
being the index of the curved edge to measure, and mode
being either "radius"
or "diameter"
to specify the type of dimension.
p3
in the first call, and p4
in the other two, specify an optional point through which the dimension line should go.FreeCAD.Vector
.To create an angular dimension use the following method:
dimension = make_angular_dimension(center, angles, p3, normal=None)
dimension = make_angular_dimension(center, [angle1, angle2], p3, normal=None)
dimension
from the given center
point, the angles
list with two elements, and the point p3
through which the arc should go.
angle1 > angle2
, the displayed angle is the difference angle1 - angle2
; otherwise, the explementary angle is displayed, 360 - (angle2 - angle1)
.The view properties of dimension
can be changed by overwriting its attributes; for example, overwrite ViewObject.FontSize
with the new size in millimeters.
Example:
import FreeCAD as App
import Draft
doc = App.newDocument()
p1 = App.Vector(0, 0, 0)
p2 = App.Vector(1000, 1000, 0)
p3 = App.Vector(-2500, 0, 0)
dimension1 = Draft.make_dimension(p1, p2, p3)
dimension1.ViewObject.FontSize = 200
polygon = Draft.make_polygon(3, radius=1000)
doc.recompute()
p4 = App.Vector(-2000, 1500, 0)
dimension2 = Draft.make_dimension(polygon, 1, 2, p4)
dimension2.ViewObject.FontSize = 200
center = App.Vector(2000, 0, 0)
p5 = App.Vector(3000, 1000, 0)
angle1 = 45
angle2 = 10
dimension3 = Draft.make_angular_dimension(center, [angle1, angle2], p5)
dimension3.ViewObject.FontSize = 200
dimension4 = Draft.make_angular_dimension(center, [angle2, angle1], p5*1.2)
dimension4.ViewObject.FontSize = 200
doc.recompute()